// 事件总线

import Vue from "vue";
const app = new Vue({});
Vue.prototype.$bus = app;
export default app; // 导出, 让其他js模块也能使用事件总线

// this.$bus.$on("事件名", arg);   // 监听事件
// this.$bus.$off("事件名", arg);  // 取消监听
// this.$bus.$emit("事件名", arg); // 抛出事件

/**
 * 事件1: gameCardClick
 * 含义: 游戏区的卡片被点击后触发
 * 参数:
 * - data: {
 *   cardId: xxx,
 *   iconId: xxx,
 *   coor: { x: xxx, y: xxx },
 * }
 *
 * 事件2: gameStart
 * 含义: 游戏开始时触发
 * 参数:
 * -
 *
 * 事件3: gameOver
 * 含义: 游戏失败时触发
 * 参数:
 * - 
 *
 * 事件4: gameWin
 * 含义: 游戏胜利时触发
 * 参数:
 * -
 *
 * 事件5: successClick
 * 含义: 成功点击时触发
 * 参数:
 * - data: {
 *   cardId: xxx,
 *   iconId: xxx,
 *   coor: { x: xxx, y: xxx },
 *   voice: xxx, // 成功点击后的音效 [导入音频后的变量]
 * }
 *
 * 事件6: clearCards
 * 含义: 卡片消除时触发
 * 参数:
 * - data: {
 *   voice: xxx,
 * }
 *
 * 事件7: clickSetting
 * 含义: 点击设置时触发
 * 参数:
 * - 
 * 
 * 事件8: clickCardPool
 * 含义: 点击卡片池时触发
 * 参数:
 * - 
 * 
 * 事件9: levelModeSuccess
 * 含义: 过关时触发
 * 参数:
 * - 
 * 
 * 事件10: levelModeStart
 * 含义: 每次关卡模式开始时触发
 * 参数:
 * - 
 * 
 * 
 */
